package 炫彩模板类

import (
	objectbase "gitee.com/go_888/xcgui/xcgui/objectbase"
	xc "gitee.com/go_888/xcgui/xcgui/xc"
	xcc "gitee.com/go_888/xcgui/xcgui/xcc"
)

// X结构_列表项模板 项模板.
type X结构_列表项模板 struct {
	objectbase.X结构_对象基类
}

// 模板_创建, 创建项模板.
//
// nType: 模板类型, xcc.ListItemTemp_Type_.
func X创建(模板类型 xcc.X列表项模板类型) *X结构_列表项模板 {
	p := &X结构_列表项模板{}
	p.X设置句柄(xc.X模板_创建(模板类型))
	return p
}

// NewByHandle 从句柄创建对象.
func X创建并按句柄(句柄 int) *X结构_列表项模板 {
	p := &X结构_列表项模板{}
	p.X设置句柄(句柄)
	return p
}

// 模板_加载从文件, 项模板文件载入.
//
// nType: 模板类型, xcc.ListItemTemp_Type_.
//
// pFileName: 文件名.
func X创建并按文件(模板类型 xcc.X列表项模板类型, 文件名 string) *X结构_列表项模板 {
	p := &X结构_列表项模板{}
	p.X设置句柄(xc.X模板_加载从文件(模板类型, 文件名))
	return p
}

// 模板_加载从ZIP, 加载项模板从zip压缩包中.
//
// nType: 模板类型, xcc.ListItemTemp_Type_.
//
// pZipFile: zip文件.
//
// pFileName: 文件名.
//
// pPassword: zip密码.
func X创建并按ZIP(模板类型 xcc.X列表项模板类型, zip文件 string, 文件名 string, zip密码 string) *X结构_列表项模板 {
	p := &X结构_列表项模板{}
	p.X设置句柄(xc.X模板_加载从zip(模板类型, zip文件, 文件名, zip密码))
	return p
}

// 模板_加载从ZIP, 加载项模板从zip压缩包中.
//
// nType: 模板类型, xcc.ListItemTemp_Type_.
//
// id: RC资源ID.
//
// pFileName: 模板文件名.
//
// pPassword: zip密码.
//
// hModule: 模块句柄, 可填0.
func X创建并按RC资源ZIP(模板类型 xcc.X列表项模板类型, RC资源ID int32, 模板文件名 string, ZIP密码 string, 模块句柄 uintptr) *X结构_列表项模板 {
	p := &X结构_列表项模板{}
	p.X设置句柄(xc.X项模板_加载从资源zip(模板类型, RC资源ID, 模板文件名, ZIP密码, 模块句柄))
	return p
}

// 模板_加载从内存ZIP, 加载项模板从内存zip压缩包中.
//
// nType: 模板类型, xcc.ListItemTemp_Type_.
//
// data: 模板文件数据.
//
// pFileName: 文件名.
//
// pPassword: zip密码.
func X创建并按内存ZIP(模板类型 xcc.X列表项模板类型, 字节集 []byte, 文件名 string, zip密码 string) *X结构_列表项模板 {
	p := &X结构_列表项模板{}
	p.X设置句柄(xc.X模板_加载从内存zip(模板类型, 字节集, 文件名, zip密码))
	return p
}

// 项模板_加载从内存. 加载项模板文件从内存.
//
// nType: 模板类型, xcc.ListItemTemp_Type_.
//
// data: 模板文件数据.
func X创建并按内存(模板类型 xcc.X列表项模板类型, 字节集 []byte) *X结构_列表项模板 {
	p := &X结构_列表项模板{}
	p.X设置句柄(xc.X项模板_加载从内存(模板类型, 字节集))
	return p
}

// 模板_加载从字符串, 加载项模板文件从内存字符串.
//
// nType: 模板类型, xcc.ListItemTemp_Type_.
//
// pStringXML: 字符串.
func X创建并按文本(模板类型 xcc.X列表项模板类型, XML文本 string) *X结构_列表项模板 {
	p := &X结构_列表项模板{}
	p.X设置句柄(xc.X模板_加载从文本(模板类型, XML文本))
	return p
}

// 模板_克隆, 复制一份新的项模板, 返回模板对象.
func (l *X结构_列表项模板) X取副本() *X结构_列表项模板 {
	p := &X结构_列表项模板{}
	p.X设置句柄(xc.X项模板_克隆(l.X句柄))
	return p
}

// 模板_取类型, 获取项模板类型, 返回: xcc.ListItemTemp_Type_.
func (l *X结构_列表项模板) X取类型() xcc.X列表项模板类型 {
	return xc.X模板_取类型(l.X句柄)
}

// 模板_销毁, 项模板销毁.
func (l *X结构_列表项模板) X销毁() bool {
	return xc.X模板_销毁(l.X句柄)
}

// 模板_添加根节点.
//
// pNode: 节点指针.
func (l *X结构_列表项模板) X添加根节点(节点指针 int) bool {
	return xc.X模板_添加根节点(l.X句柄, 节点指针)
}

// 模板_取列表中的节点.
//
// index: 节点位置索引.
func (l *X结构_列表项模板) X取节点(位置索引 int32) int {
	return xc.X模板_取列表中的节点(l.X句柄, 位置索引)
}

// 项模板_列表_插入节点.
//
// index: 插入位置索引.
//
// pNode: 节点指针.
func (l *X结构_列表项模板) X插入节点(插入位置索引 int32, 节点指针 int) bool {
	return xc.X项模板_列表_插入节点(l.X句柄, 插入位置索引, 节点指针)
}

// 项模板_列表_删除节点.
//
// index: 位置索引.
func (l *X结构_列表项模板) X删除节点(位置索引 int32) bool {
	return xc.X项模板_列表_删除节点(l.X句柄, 位置索引)
}

// 项模板_列表_取数量, 取子节点数量, 只当前层子节点.
func (l *X结构_列表项模板) X取数量() int32 {
	return xc.X项模板_列表_取数量(l.X句柄)
}

// 项模板_列表_移动列, 将指定列移动到目标位置.
//
// iColSrc: 源列索引.
//
// iColDest: 目标列索引.
func (l *X结构_列表项模板) X移动列(源列索引, 目标列索引 int32) bool {
	return xc.X项模板_列表_移动列(l.X句柄, 源列索引, 目标列索引)
}

// 模板_加载从文件扩展, 加载项模板从文件.
//
// nType: 模板类型, xcc.ListItemTemp_Type_.
//
// pFileName: 文件名.
//
// pOutTemp1: 返回模板句柄1, 项模板.
//
// pOutTemp2: 返回模板句柄2, 列表头模板或列表视组模板.
func X加载并按文件EX(模板类型 xcc.X列表项模板类型, 文件名 string, 返回模板句柄1 *int, 返回模板句柄2 *int) bool {
	return xc.X模板_加载从文件EX(模板类型, 文件名, 返回模板句柄1, 返回模板句柄2)
}

// 模板_加载从ZIP扩展, 加载项模板从zip压缩包中.
//
// nType: 模板类型, xcc.ListItemTemp_Type_.
//
// pZipFile: zip文件.
//
// pFileName: 文件名.
//
// pPassword: zip密码.
//
// pOutTemp1: 返回模板句柄1, 项模板.
//
// pOutTemp2: 返回模板句柄2, 列表头模板或列表视组模板.
func X加载并按zipEX(模板类型 xcc.X列表项模板类型, zip文件 string, 文件名 string, zip密码 string, 返回模板句柄1 *int, 返回模板句柄2 *int) bool {
	return xc.X模板_加载从zipEX(模板类型, zip文件, 文件名, zip密码, 返回模板句柄1, 返回模板句柄2)
}

// 模板_加载从内存ZIP扩展, 加载项模板从内存zip压缩包中.
//
// nType: 模板类型, xcc.ListItemTemp_Type_.
//
// data: 模板文件数据.
//
// pFileName: 文件名.
//
// pPassword: zip密码.
//
// pOutTemp1: 返回模板句柄1, 项模板.
//
// pOutTemp2: 返回模板句柄2, 列表头模板或列表视组模板.
func X加载并按内存zipEX(模板类型 xcc.X列表项模板类型, 字节集 []byte, 文件名 string, zip密码 string, 返回模板句柄1 *int, 返回模板句柄2 *int) bool {
	return xc.X模板_加载从内存zipEX(模板类型, 字节集, 文件名, zip密码, 返回模板句柄1, 返回模板句柄2)
}

// 模板_加载从字符串扩展, 加载项模板文件从内存字符串.
//
// nType: 模板类型, xcc.ListItemTemp_Type_.
//
// pStringXML: 字符串内容.
//
// pOutTemp1: 返回模板句柄1, 项模板.
//
// pOutTemp2: 返回模板句柄2, 列表头模板或列表视组模板.
func X加载并按文本EX(模板类型 xcc.X列表项模板类型, xml文本 string, 返回模板句柄1 *int, 返回模板句柄2 *int) bool {
	return xc.X模板_加载从文本EX(模板类型, xml文本, 返回模板句柄1, 返回模板句柄2)
}

// 项模板_加载从内存扩展. 加载项模板文件从内存.
//
// nType: 模板类型, xcc.ListItemTemp_Type_.
//
// data: 模板文件数据.
//
// pOutTemp1: 返回模板句柄1, 项模板.
//
// pOutTemp2: 返回模板句柄2, 列表头模板或列表视组模板.
func X加载并按内存EX(模板类型 xcc.X列表项模板类型, 字节集 []byte, 返回模板句柄1 *int, 返回模板句柄2 *int) bool {
	return xc.X项模板_加载从内存EX(模板类型, 字节集, 返回模板句柄1, 返回模板句柄2)
}

// 项模板_加载从资源ZIP扩展. 加载项模板文件从RC资源ZIP, 返回模板句柄.
//
// nType: 模板类型, xcc.ListItemTemp_Type_.
//
// id: RC资源ID.
//
// pFileName: 模板文件名.
//
// pPassword: zip密码.
//
// pOutTemp1: 返回模板句柄1, 项模板.
//
// pOutTemp2: 返回模板句柄2, 列表头模板或列表视组模板.
//
// hModule: 模块句柄, 可填0.
func X加载并按资源zipEX(模板类型 xcc.X列表项模板类型, RC资源ID int32, 文件名 string, zip密码 string, 返回模板句柄1 *int, 返回模板句柄2 *int, 模块句柄 uintptr) int {
	return xc.X项模板_加载从资源zipEX(模板类型, RC资源ID, 文件名, zip密码, 返回模板句柄1, 返回模板句柄2, 模块句柄)
}
